package com.gjt.serverSocket;

import java.io.BufferedWriter;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.net.ServerSocket;
import java.net.Socket;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * Created with Intel IDEA.
 * 时间服务器（就是返回时间）
 *
 * @Auther: gjt
 * @Date: 2024/5/4 20:45
 */
public class DaytimeServer {
    private final static int port = 13;

    public static void main(String[] args) {
        // ServerSocket 在指定端口创建一个新的ServerSocket , accept()监听这个端口的入站连接，会一直阻塞直到客户连接，此时会返回一个连接客户和服务器的Socket
        try (ServerSocket server = new ServerSocket(port)) {
            while (true) {
                try (Socket socket = server.accept()) {

                    BufferedWriter buf = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
                    // yyyy-MM-dd HH:mm:ss  格式 24小时制：2016-07-06 09:39:58
                    // yyyy-MM-dd hh:mm:ss  格式12小时制：2016-07-06 09:42:44

                    SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                    String transformDate = simpleDateFormat.format(new Date());
                    buf.write(transformDate + ": ni hao" + "\r\n");
                    buf.flush();
                    socket.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
